10.2 Random类

10.2.1 什么是Random类

此类的实例用于生成伪随机数。

例如,以下代码使用户能够得到一个随机数:

1
2
Random r = new Random();
int i = r.nextInt();

10.2.2 Random使用步骤

查看类

  • java.util.Random:该类需要import导入使后使用。

查看构造方法

  • public Random():创建一个新的随机数生成器。

查看成员方法

  • public int nextInt(int n):返回一个伪随机数,范围在 0(包括)和 指定值n (不包括)之间的int值。

  使用Random类,完成生成3个10以内的随机整数的操作,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//1. 导包
import java.util.Random;
public class Demo01_Random {
public static void main(String[] args) {
//2. 创建键盘录入数据的对象
Random r = new Random();
for(int i = 0; i < 3; i++){
//3. 随机生成一个数据
int number = r.nextInt(10);
//4. 输出数据
System.out.println("number:"+ number);
}
}
}

备注:创建一个Random对象,每次调用nextInt()方法,都会生成一个随机数。

10.2.2 练习

获取随机数

获取1-n之间的随机数,包含n,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
// 导包
import java.util.Random;
public class Test01Random {
public static void main(String[] args) {
int n = 50;
// 创建对象
Random r = new Random();
// 获取随机数
int number = r.nextInt(n) + 1;
// 输出随机数
System.out.println("number:" + number);
}
}

猜数字小游戏

  游戏开始时,会随机生成一个1-100之间的整数number。玩家猜测一个数字guessNumber,会与number作比较,系统提示大了或者小了,直到玩家猜中,游戏结束。

小贴士:
  先运行程序代码,理解此题需求,经过分析后,再编写代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 导包
import java.util.Random;
public class Test02Random {
public static void main(String[] args) {
// 系统产生一个随机数1‐100之间的。
Random r = new Random();
int number = r.nextInt(100) + 1;
while(true){
// 键盘录入我们要猜的数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要猜的数字(1‐100):");
int guessNumber = sc.nextInt();
// 比较这两个数据(用if语句)
if (guessNumber > number) {
System.out.println("你猜的数据" + guessNumber + "大了");
} else if (guessNumber < number) {
System.out.println("你猜的数据" + guessNumber + "小了");
} else {
System.out.println("恭喜你,猜中了");
break;
}
}
}
}